From: Kenichi Handa Date: Mon, 9 Mar 2009 01:09:23 +0000 (+0000) Subject: (Qfile_name_handler_alist): Extern it. X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~421^2~1363 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=2030dea4726382770b08736c53d9a3cc89d865f5;p=emacs.git (Qfile_name_handler_alist): Extern it. (load_charset_map_from_file): Temporarily bind `file-name-handler-alist' to nil while calling openp. --- diff --git a/src/charset.c b/src/charset.c index 052f3186831..1cbfa2fd497 100644 --- a/src/charset.c +++ b/src/charset.c @@ -477,6 +477,7 @@ read_hex (fp, eof) return n; } +extern Lisp_Object Qfile_name_handler_alist; /* Return a mapping vector for CHARSET loaded from MAPFILE. Each line of MAPFILE has this form @@ -490,7 +491,10 @@ read_hex (fp, eof) The returned vector has this form: [ CODE1 CHAR1 CODE2 CHAR2 .... ] where CODE1 is a code-point or a cons of code-points specifying a - range. */ + range. + + Note that this funciton uses `openp' to open MAPFILE but ignores + `file-name-handler-alist to avoid running any Lisp codes. */ extern void add_to_log P_ ((char *, Lisp_Object, Lisp_Object)); @@ -508,11 +512,14 @@ load_charset_map_from_file (charset, mapfile, control_flag) Lisp_Object suffixes; struct charset_map_entries *head, *entries; int n_entries; + int count = SPECPDL_INDEX (); suffixes = Fcons (build_string (".map"), Fcons (build_string (".TXT"), Qnil)); + specbind (Qfile_name_handler_alist, Qnil); fd = openp (Vcharset_map_path, mapfile, suffixes, NULL, Qnil); + unbind_to (count, Qnil); if (fd < 0 || ! (fp = fdopen (fd, "r"))) {